package cn.hy.机考.part02;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @author hy
 *  十四、最大消费金额
 *  从众多心仪商品中购买 3 件，而且想尽可能的花完资金，现在请你设计一个程序，计算小明尽可能花费的最大资金数
 *  输入第一行为一维整型数组 m，数组元素记录单个商品的价格 输入第二行为购买资金的额度 r 输出为满足上述条件的最大花费额度。注意:如果不存在满足上述条件的商品请 返回-1
 *  23,26,36,27
 *  78
 *  输出 76
 *  23,30,40
 *  26
 *  输出 -1
 *
 */
public class Demo14 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            String[] str = sc.nextLine().split(",");
            int target = Integer.parseInt(sc.nextLine());
            int res = -1;
            //转为数字数组
            if (str.length >= 3) {
                int[] arr = new int[str.length];
                for (int i = 0 ; i < arr.length ; i++) {
                    arr[i] = Integer.parseInt(str[i]);
                }


                //排序之后，进行三重循环比较
                Arrays.sort(arr);
                for (int i = 0 ; i < arr.length - 2 ; i++) {
                    for (int j = i + 1 ; j < arr.length - 1; j++) {
                        for (int k =  j + 1; k < arr.length ; k++) {
                            int a = arr[i];
                            int b = arr[j];
                            int c = arr[k];
                            if (a + b + c <= target) {
                                res = Math.max(res, a + b + c);
                            }
                        }
                    }
                }
            }
            System.out.println(res);
        }
    }
}
